<?php
class ManagePriorHotelForm extends Form
{
    function ManagePriorHotelForm()
    {
        Form::Form('ManagePriorHotelForm');
        CGlobal::$website_title = 'Quản lý khách sạn ưu tiên trên Booking';
        $this->link_css("style/ManagePriorHotel.css");
        $this->link_js('javascript/ManagePriorHotel.js');
    }

    function draw()
    {
        global $display;
        if(Url::get('delete_group')){
            Db_PriorHotel::deleteGroup(1);
            Db_PriorHotel::deleteGroup(2);
            Db_PriorHotel::deleteGroup(3);
            Db_PriorHotel::deleteGroup(4);
            Db_PriorHotel::deleteGroup(5);
        }
        //Thêm group mới bằng cách thêm vào URL ?new_group=..&num=...
        if(Url::get('new_group')){
            $g_id = Url::get('new_group');
            $g_num = Url::get('num');
            if(Db_PriorHotel::insertNewGroup($g_id, $g_num)){
                echo "Thêm mới thành công group ". $g_id." với ".$g_num." phần tử.";
            }
        }

        //Deal nổi bật
        $prior = Db_PriorHotel::getPriorHotelByGroupId(1);
        if (!empty($prior)) {
            $prior = self::getData('deal', $prior);
            $display->add('prior', $prior);
            $display->add('no_1', 0);
        }else{
            $display->add('no_1', 1);
        }

        //Deal khách sạn cực hấp dẫn - Trang chi tiết deal
        $prior = Db_PriorHotel::getPriorHotelByGroupId(2);
        if (!empty($prior)) {
            $prior = self::getData('deal', $prior);
            $display->add('prior_2', $prior);
            $display->add('no_2', 0);
        }else{
            $display->add('no_2', 1);
        }

        //Khách sạn khuyến mãi Top - Trang khuyến mãi
        $prior = Db_PriorHotel::getPriorHotelByGroupId(3);
        if (!empty($prior)) {
            $prior = self::getData('promotion', $prior);
            $display->add('prior_3', $prior);
            $display->add('no_3', 0);
        }else{
            $display->add('no_3', 1);
        }

        //Khách sạn đang khuyến mại hấp dẫn - Trang chủ
        $prior = Db_PriorHotel::getPriorHotelByGroupId(4);
        if (!empty($prior)) {
            $prior = self::getData('promotion', $prior);
            $display->add('prior_4', $prior);
            $display->add('no_4', 0);
        }else{
            $display->add('no_4', 1);
        }

        //Khách sạn top 5 - Trang chủ
        $prior = Db_PriorHotel::getPriorHotelByGroupId(5);
        if (!empty($prior)) {
            $prior = self::getData('hotel', $prior);
            $display->add('prior_5', $prior);
            $display->add('no_5', 0);
        }else{
            $display->add('no_5', 1);
        }

        $display->output('ManagePriorHotel');
    }

    //Hàm lấy thông tin deal, hotel hay promotion
    function getData($type, $prior){
        if ($type == 'deal'){
            foreach ($prior as &$p) {
                if ($p['item_id'] != 0){
                    $p['deal'] = Db_Deal::getDealHotelById($p['item_id']);
                    if (!empty($p['deal'])){
                        $p['hotel'] = Db_Hotel::getHotelByIdFromRedis($p['deal']['hotel_id']);
                    }else{
                        $p['deal'] = array();
                        $p['deal']['name'] = "Tùy chọn";
                    }
                }else{
                    $p['deal'] = array();
                    $p['deal']['name'] = "Tùy chọn";
                }
            }
//            var_dump($prior);
            return $prior;
        } elseif ($type == 'promotion'){
            foreach ($prior as &$p) {
                if ($p['item_id'] != 0){
                    $ph = Db_Promotion::getPromotionHotelById($p['item_id']);
                    if (!empty($ph)){
                        $ph['time_start'] = date('d-m-Y', $ph['time_start']);
                        $ph['time_end'] = date('d-m-Y', $ph['time_end']);

                        if (($temp2 = Db_Promotion::getPromotionFilterById($ph['type'])) !== false) {
                            $ph['name_type'] = $temp2[$ph['type']]['name'];
                        }
                        if ($ph['room_id'] == 0) {
                            $ph['name_room'] = "Toàn bộ khách sạn";
                        } else {
                            if (($temp3 = Db_Room::getRoomById($ph['room_id'])) !== false) {
                                $ph['name_room'] = "Phòng " . $temp3['name'];
                            }
                        }
                        $p['hotel'] = Db_Hotel::getHotelById($ph['hotel_id']);
                        $p['city'] = Db_Location::getLocationById($p['hotel']['city_id']);
                        $p['promotion'] = $ph;
                    }
                }else{
                    $p['deal'] = array();
                    $p['hotel']['name'] = "Tùy chọn";
                }
            }
            return $prior;
        } elseif ($type == 'hotel'){
            foreach ($prior as &$p) {
                if ($p['item_id'] != 0){
                    $p['hotel'] = Db_Hotel::getHotelById($p['item_id']);
                    $p['city'] = Db_Location::getLocationById($p['hotel']['city_id']);
                }else{
                    $p['deal'] = array();
                    $p['hotel']['name'] = "Tùy chọn";
                }
            }
            return $prior;
        }else{
            return $prior;
        }
    }
}
?>